Lorem ipsum dolor sit amet consectetur adipisicing elit. Et voluptate
itaque neque totam quod vitae mollitia beatae blanditiis saepe quaerat
porro, laborum quasi accusamus voluptates consectetur ipsam tempora,
possimus modi.
code:
<div class='card-container'>
<div class="card">
<div class="card-header">
<img
src="../images/1.jpg" alt="nice image"/>
</div>
<div class="card-body">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et voluptate
itaque neque totam quod vitae mollitia beatae blanditiis saepe quaerat
porro, laborum quasi accusamus voluptates consectetur ipsam tempora,
possimus modi.
</p>
<button>Details</button>
<button>Contact me</button>
</div>
</div>
</div>
<style>
.card {display: flex; flex-direction: row; gap: 1rem; border: 1px solid #ccc; padding: 1rem;}
.card-header {max-width: 400px;}
img {width: 100%; height: 100%; object-fit: cover;}
</style>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et voluptate
itaque neque totam quod vitae mollitia beatae blanditiis saepe quaerat
porro, laborum quasi accusamus voluptates consectetur ipsam tempora,
possimus modi.
code:
<div class='card-container1'>
<div class="card1">
<div class="card-header1">
<img id="image1" src="../images/1.jpg" alt="nice image"/>
</div>
<div class="card-body">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et voluptate
itaque neque totam quod vitae mollitia beatae blanditiis saepe quaerat
porro, laborum quasi accusamus voluptates consectetur ipsam tempora,
possimus modi.
</p>
<button>Details</button>
<button>Contact me</button>
</div>
</div>
</div>
<style>
.card-container1 {container-type: inline-size;}
.card1 {display: flex; flex-direction: row; gap: 1rem; border: 1px solid #ccc; padding: 1rem;}
.card-header1 {max-width: 400px;}
#image1 {width: 100%; height: 100%; object-fit: cover; }
@container (max-width: 500px) {
.card1 {flex-direction: column;}
}
</style>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio quos
repellendus iure atque accusantium. Tempora perferendis ipsa quia,
ut magnam adipisci repudiandae porro ad eos. Officiis sit nam ad
temporibus!
Section 2
Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio quos
repellendus iure atque accusantium. Tempora perferendis ipsa quia,
ut magnam adipisci repudiandae porro ad eos. Officiis sit nam ad
temporibus!
code:
<div>
<header>
<div>
<nav>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
</nav>
<section>
<h1>Hero Section</h1>
</section>
</div>
</header>
<main>
<div>
<section class="section-one">
<h2>Section 1</h2>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio quos
repellendus iure atque accusantium. Tempora perferendis ipsa quia,
ut magnam adipisci repudiandae porro ad eos. Officiis sit nam ad
temporibus!
</p>
</section>
<section class="section-two">
<h3>Section 2</h3>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio quos
repellendus iure atque accusantium. Tempora perferendis ipsa quia,
ut magnam adipisci repudiandae porro ad eos. Officiis sit nam ad
temporibus!
</p>
</section>
</div>
</main>
</div>
<style>
header { container-name: headerContainer; container-type: inline-size;}
@container headerContainer (max-width: 700px) {
/* This style will not be applied because it is outside of headerContainer element */
.section-one{ border: 2px solid black;}
/* This style will be applied because it is inside of headerContainer element */
nav {border: 2px solid black;}
}
main {container-name: mainContainer; container-type: inline-size;}
@container mainContainer (width < 800px) {
/* This style will be applied because it is inside of mainContainer element */
.section-one {background-color: #89cff0;}
/* This style will not be applied because it is outside of mainContainer element */
nav {background-color: green;}
}
</style>
when to use CSS container queries
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et
voluptate itaque neque totam quod vitae mollitia beatae blanditiis
saepe quaerat porro, laborum quasi accusamus voluptates consectetur
ipsam tempora, possimus modi.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et
voluptate itaque neque totam quod vitae mollitia beatae blanditiis
saepe quaerat porro, laborum quasi accusamus voluptates consectetur
ipsam tempora, possimus modi.
code:
<main class="frame">
<div class="card2 card-shadow">
<div class="card-header2">
<img class="image2" src="../images/2.jpg" alt="" />
</div>
<div class="card-body">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et
voluptate itaque neque totam quod vitae mollitia beatae blanditiis
saepe quaerat porro, laborum quasi accusamus voluptates consectetur
ipsam tempora, possimus modi.
</p>
<button class="btn">Details</button>
<button class="btn btn-outline">Contact seller</button>
</div>
</div>
<br />
<div class="card2 card-shadow">
<div class="card-header2">
<img class="image2" src="../images/3.jpg" alt=""/>
</div>
<div class="card-body">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et
voluptate itaque neque totam quod vitae mollitia beatae blanditiis
saepe quaerat porro, laborum quasi accusamus voluptates consectetur
ipsam tempora, possimus modi.
</p>
<button class="btn">Details</button>
<button class="btn btn-outline">Contact seller</button>
</div>
</div>
</main>
<aside class="sidebar">
<h3>Sidebar</h3>
<div class="card2 card-shadow">
<div class="card-header2">
<img class="image2" src="../images/4.jpg" alt=""/>
</div>
<div class="card-body">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Et
voluptate itaque neque totam quod vitae mollitia beatae blanditiis
saepe quaerat porro, laborum quasi accusamus voluptates consectetur
ipsam tempora, possimus modi.
</p>
<button class="btn">Details</button>
<button class="btn btn-outline">Contact seller</button>
</div>
</div>
</aside>
<style>
aside {border-left: 3px solid black; padding: 0.5rem; flex: 1;}
.frame {padding: 0.5rem; flex: 1;}
.card2 {display: flex; flex-direction: row;}
.card-header2 {max-width: 500px;}
.image2 { width: 100%; height: 100%; object-fit: cover;}
.btn.btn-outline:hover, .btn.btn-outline:focus { background-color: hsl(200, 50%, 90%);}
.btn + .btn {margin-left: 0.25rem;}
.frame, .sidebar {container-type: inline-size; container-name: sidebar;}
@container sidebar (max-width: 500px) {
.card2 {flex-direction: column;}
.card-header2 {width: 100%; }
}
</style>